package main

import (
	"fmt"
	"mysqlExample/dbsqlx"
)

func main() {
	// 内置 mysql
	//err := db.InitDb()

	// sqlx
	err := dbsqlx.InitDb()

	if err != nil {
		fmt.Printf("init db failed, err: %v\n", err)
		return
	}
	fmt.Printf("init db success db")

	// 查询单条数据
	//db.QueryRowDemo(1)
	// 查询多条数据
	//db.QueryMultiRowDemo(1)

	// 插入单条数据
	//db.InsertRowDemo("testUser", 18)

	// 更新单条数据
	//db.UpdateRowDemo(88, 4)

	// 删除单条数据
	//db.DeleteRowDemo(4)

	// 预处理查询多条数据
	//db.PrepareQueryDemo(2)

	// sql 注入测试
	//db.SqlInjectDemo("id or 1=1#")
	//db.SqlInjectDemo("id union select * from db_user #")
	//db.SqlInjectDemo("id and (select count(*) from db_user) <4 #")

	// 事务操作
	//db.TransactionDemo()

	//------------ sqlx 操作--------------
	dbsqlx.QueryMultiRowDemo(2)
	dbsqlx.InsertRowDemo("test2", 99)
	dbsqlx.UpdateRowDemo(44, 2)
}
